#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/wait.h>

int main()
{
    pid_t pid = fork();

    if(pid < 0)
    {
        perror("fork failed");
        exit(1);
    }

    if(pid == 0)
    {
        char* args[] = {"ls", "-al", NULL};
        printf("子进程：使用 execvp 执行 ls -al\n");
        execvp("ls", args);
        perror("execvp failed");
        exit(1);
    }
    else
    {
        wait(NULL);
        printf("父进程：子进程执行完毕\n");
    }

    return 0;
}
